/**
 * @将数组按照降序排列
 *
 * @author	 wangshikun <wangshikun2010@gmail.com>
 * @copyright	(c) 2012 wangshikun <wangshikun2010@gmail.com>
 * @license	http://www.opensource.org/licenses/mit-license.php The MIT License
 * @package	default
 * @subpackage	default
 */

#include <stdio.h>
#include <cs50.h>
void sort (int a[], int n);

int main(int argc, char *argv[]) {
	int number;

	do {
		printf("输入要比较数字大小的个数：");
		scanf("%d", &number);
	} while (number <= 0);

	int array[number];

	//循环输入的数字
	for (int i=0; i<number; i++) {
		printf("请输入第%d个数：", i+1);
		scanf("%d", &array[i]);
	}

	//调用sort函数
	sort(array, number);

	printf("\n从大到小：\n");

	//打印排列好的数
	for (int i=0; i<number; i++) {
		printf("%d ", array[i]);
	}

	printf("\n");

	return 0;
}


void sort (int a[], int n) {
	int i, j, temp;

	//比较大小，用前一个数和后一个数比
	for (i=0; i<n-1; i++) {
		for (j = i + 1; j<n; j++) {

			//如果前一个数比后一个小，交换两值的顺序
			if (a[i] < a[j]) {
				temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	}
}

